From: Daniel van Vugt Date: Fri, 5 Jun 2026 08:43:45 +0000 (+0800) Subject: appDisplay: Animate whole icon tile when expanding label X-Git-Tag: archive/raspbian/50.5-1+rpi1^2~14^2^2~7 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=933dbed7f26630856ae46c0ae7e09cf10c021fae;p=gnome-shell.git appDisplay: Animate whole icon tile when expanding label This gives a smoother whole-tile expand animation, while retaining the old ellipsize-and-shift-up collapse animation. Part-of: (cherry picked from commit 32171c0be245829746755987816a89b7de472486) --- diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index 105796dc2..f967b5ea6 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -1896,16 +1896,21 @@ class AppViewItem extends St.Button { if (!layout.is_wrapped() && !layout.is_ellipsized()) return; - label.remove_transition('allocation'); + const expand = this._forcedHighlight || this.hover || this.has_key_focus(); + if (this._expand === expand) + return; + this._expand = expand; - const id = label.connect('notify::allocation', () => { - label.restore_easing_state(); - label.disconnect(id); + const leader = expand ? this : label; + leader.remove_transition('allocation'); + + const id = leader.connect('notify::allocation', () => { + leader.restore_easing_state(); + leader.disconnect(id); }); - const expand = this._forcedHighlight || this.hover || this.has_key_focus(); - label.save_easing_state(); - label.set_easing_duration(expand + leader.save_easing_state(); + leader.set_easing_duration(expand ? APP_ICON_TITLE_EXPAND_TIME : APP_ICON_TITLE_COLLAPSE_TIME); clutterText.set({